package com.cl.pattern.singleton.hungry;

/**
 * '饿汉式'单例
 *
 * 在类加载的时候就立即初始化，并且创建单例对象
 * 绝对的线程安全，在线程还没创建之前就已经实例化了，不可能存在访问安全问题
 *
 * 优点：
 *    没有加任何的锁、执行效率比较高
 *    在用户体验上来说，比懒汉式更好
 *
 * 缺点：
 *     类加载的时候就初始化，不管你用不用，都占用空间
 *
 * @Author Small
 * @Date 2020/5/30 10:39
 * @Version 1.0
 **/
public class Hungry {

    /**
     * 静态的本类实例
     */
    private static final Hungry INSTANCE = new Hungry();


    /**
     * 私有化的构造方法，保证不被其他类调用
     */
    private Hungry() {
    }


    /**
     * 公共的静态获取实例的方法
     *
     * 客户端调用获取单例实例
     * @return 单例实例
     */
    public static Hungry getInstance() {
        return INSTANCE;
    }


}
